﻿/**************************************************************
 *
 * 唯一标识：a425ea33-f3e2-4d4e-8c86-90b2b5c5ebc9
 * 命名空间：Sgr.Trackers.Infrastructure.EntityConfigurations
 * 创建时间：2024/7/17 18:32:27
 * 机器名称：DESKTOP-HJ4OAG9
 * 创建者：CocoYuan
 * 电子邮箱：fengqinhua2016@163.com
 * 描述：
 *
 **************************************************************/

using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Sgr.Data;
using Sgr.EntityFrameworkCore.EntityConfigurations;
using Sgr.Trackers.Domain;

namespace Sgr.Trackers.Infrastructure.EntityConfigurations
{
    public class MessageTrackerLogConfiguration : EntityTypeConfigurationBase<MessageTrackerLog, string>
    {
        public MessageTrackerLogConfiguration(DatabaseType? databaseType = null) : base(databaseType)
        { }

        public override void Configure(EntityTypeBuilder<MessageTrackerLog> builder)
        {
            builder.ToTable("sgr_message_trackerlog");

            // 主键配置：Id 是从 EntityBase 继承的 string 类型属性
            builder.HasKey(e => e.Id);

            // 配置 Id 属性（string 类型，主键）
            builder.Property(e => e.Id)
                   .HasColumnName("sgr_id")
                   .HasMaxLength(128)
                   .IsRequired();

            // 配置 CreatedUtc 字段
            builder.Property(e => e.ProcessedOnUtc)
                   .HasColumnName("m_processed_on_utc")
                   .IsRequired();
        }
    }
}